#!/bin/bash
# nova服务 compute节点操作

echo '1.	安装软件包';
yum install openstack-nova-compute

# 2.编辑/etc/nova/nova.conf   
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
#注意修改 my_ip 可能与控制节点雷同
# 由于之前已经做过备份操作，在此不重复。
#cp /etc/nova/nova.conf{,.bak} 
#grep '^[a-Z\[]' /etc/nova/nova.conf.bak > /etc/nova/nova.conf

#openstack-config --set /etc/nova/nova.conf DEFAULT enabled_apis osapi_compute,metadata
#openstack-config --set /etc/nova/nova.conf DEFAULT transport_url rabbit://openstack:123456@controller
#openstack-config --set /etc/nova/nova.conf DEFAULT my_ip 10.71.11.6
#openstack-config --set /etc/nova/nova.conf DEFAULT use_neutron True
#openstack-config --set /etc/nova/nova.conf DEFAULT firewall_driver nova.virt.firewall.NoopFirewallDriver
#openstack-config --set /etc/nova/nova.conf api auth_strategy keystone
#openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_uri http://controller:5000
#openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_url http://controller:35357
#openstack-config --set /etc/nova/nova.conf keystone_authtoken memcached_servers controller:11211
#openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_type password
#openstack-config --set /etc/nova/nova.conf keystone_authtoken project_domain_name default
#openstack-config --set /etc/nova/nova.conf keystone_authtoken user_domain_name default
#openstack-config --set /etc/nova/nova.conf keystone_authtoken project_name service
#openstack-config --set /etc/nova/nova.conf keystone_authtoken username nova
#openstack-config --set /etc/nova/nova.conf keystone_authtoken password 123456

#openstack-config --set /etc/nova/nova.conf vnc enabled True
echo '修改nova组件的部分配置';
openstack-config --set /etc/nova/nova.conf vnc server_listen 0.0.0.0
openstack-config --set /etc/nova/nova.conf vnc server_proxyclient_address '$my_ip'
openstack-config --set /etc/nova/nova.conf vnc novncproxy_base_url http://controller:6080/vnc_auto.html

#openstack-config --set /etc/nova/nova.conf glance api_servers http://controller:9292
#openstack-config --set /etc/nova/nova.conf oslo_concurrency lock_path /var/lib/nova/tmp
#openstack-config --set /etc/nova/nova.conf placement os_region_name RegionOne
#openstack-config --set /etc/nova/nova.conf placement project_domain_name Default
#openstack-config --set /etc/nova/nova.conf placement project_name service
#openstack-config --set /etc/nova/nova.conf placement auth_type password
#openstack-config --set /etc/nova/nova.conf placement user_domain_name Default
#openstack-config --set /etc/nova/nova.conf placement auth_url http://controller:35357/v3
#openstack-config --set /etc/nova/nova.conf placement username placement
#openstack-config --set /etc/nova/nova.conf placement password 123456
echo '配置完成';
echo '启动计算服务';
systemctl enable libvirtd.service openstack-nova-compute.service
systemctl start libvirtd.service openstack-nova-compute.service
echo '                      nova服务运行状态                 ';
echo '#######################################################';
systemctl status libvirtd.service openstack-nova-compute.service
echo '#######################################################';
echo '4.添加compute节点到cell数据库';
openstack compute service list --service nova-compute
echo '5.	发现计算节点';
su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" nova

echo '加载环境变量';
source /root/admin-openrc
echo '1.列出服务组件';
openstack compute service list
echo '2.列出身份服务中的API端点以验证与身份服务的连接';
openstack catalog list
echo '3.列出镜像';
openstack image list
echo '4.检查cells和placement API是否正常';
nova-status upgrade check

echo '-----------------------------------------------------'
echo '          nova 3 配置完成！                           '
echo '-----------------------------------------------------'

